<?php

namespace YouBaoLian\Application\Request;

use YouBaoLian\Application\Response\RenewalResponse;
use YouBaoLian\Application\Response\VehicleModelResponse;
use YouBaoLian\Application\Response\VehicleNoCarProductResponse;

class VehicleNoCarProductRequest extends Request
{

    /**
     * 保司ID
     * @var int $supplierId
     */
    private $supplierId = 0;

    /**
     * 报价配置ID
     * @var int $configId
     */
    private $configId = 0;

    /**
     * 车辆所属性质
     * @var int $ownerShipAttribute
     */
    private $ownerShipAttribute = 0;

    /**
     * 车辆使用性质
     * @var int $usageAttribute
     */
    private $usageAttribute = 0;

    /**
     * 座位数
     * @var int $seats
     */
    private $seats = 0;

    /**
     * 城市编码
     * @var string $cityCode
     */
    private $cityCode = '';

    /**
     * 核载质量
     * @var float $vehicleTonnages
     */
    private $vehicleTonnages = 0;

    /**
     * 其他信息
     * @var array $extParam
     */
    private $extParam = [];

    /**
     * @var string $method
     */
    protected $method = 'iebcVehicle.nocarProduct';

    /**
     * @var string $response
     */
    protected $response = VehicleNoCarProductResponse::class;

    /**
     * @return string
     */
    public function getMethod(): string
    {
        return $this->method;
    }

    /**
     * @return array
     */
    public function getBizContent(): array
    {
        $this->bizContent = [
            'supplierId' => $this->supplierId,
            'configId' => $this->configId,
            'ownerShipAttribute' => $this->ownerShipAttribute,
            'usageAttribute' => $this->usageAttribute,
            'seats' => $this->seats,
            'cityCode' => $this->cityCode,
            'vehicleTonnages' => $this->vehicleTonnages,
        ];

        if ($this->extParam) {
            $this->bizContent = array_merge($this->bizContent, $this->extParam);
        }
        return $this->bizContent;
    }

    /**
     * @param int $supplierId
     */
    public function setSupplierId(int $supplierId): void
    {
        $this->supplierId = $supplierId;
    }

    /**
     * @param int $configId
     */
    public function setConfigId(int $configId): void
    {
        $this->configId = $configId;
    }

    /**
     * @param int $ownerShipAttribute
     */
    public function setOwnerShipAttribute(int $ownerShipAttribute): void
    {
        $this->ownerShipAttribute = $ownerShipAttribute;
    }

    /**
     * @param int $usageAttribute
     */
    public function setUsageAttribute(int $usageAttribute): void
    {
        $this->usageAttribute = $usageAttribute;
    }

    /**
     * @param int $seats
     */
    public function setSeats(int $seats): void
    {
        $this->seats = $seats;
    }

    /**
     * @param string $cityCode
     */
    public function setCityCode(string $cityCode): void
    {
        $this->cityCode = $cityCode;
    }

    /**
     * @param float $vehicleTonnages
     */
    public function setVehicleTonnages($vehicleTonnages): void
    {
        $this->vehicleTonnages = $vehicleTonnages;
    }

    /**
     * @param array $extParam
     */
    public function setExtParam(array $extParam): void
    {
        $this->extParam = $extParam;
    }


}
